{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f30e791d",
   "metadata": {},
   "source": [
    "# 散点图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "51a92983",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"1002\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = true;\n",
       "\n",
       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
       "    root._bokeh_onload_callbacks = [];\n",
       "    root._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var script = document.createElement(\"script\");\n",
       "    node.appendChild(script);\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when an output is cleared or removed\n",
       "   */\n",
       "  function handleClearOutput(event, handle) {\n",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
       "      cell.notebook.kernel.execute(cmd, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
       "\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
       "      // store reference to embed id on output_area\n",
       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
       "    }\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "        toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[toinsert.length - 1]);\n",
       "      element.append(toinsert);\n",
       "      return toinsert\n",
       "    }\n",
       "\n",
       "    /* Handle when an output is cleared or removed */\n",
       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
       "    events.on('delete.Cell', handleClearOutput);\n",
       "\n",
       "    /* Handle when a new output is added */\n",
       "    events.on('output_added.OutputArea', handleAddOutput);\n",
       "\n",
       "    /**\n",
       "     * Register the mime type and append_mime function with output_area\n",
       "     */\n",
       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
       "      /* Is output safe? */\n",
       "      safe: true,\n",
       "      /* Index of renderer in `output_area.display_order` */\n",
       "      index: 0\n",
       "    });\n",
       "  }\n",
       "\n",
       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
       "  if (root.Jupyter !== undefined) {\n",
       "    var events = require('base/js/events');\n",
       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
       "\n",
       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
       "      register_renderer(events, OutputArea);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  \n",
       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
       "    root._bokeh_timeout = Date.now() + 5000;\n",
       "    root._bokeh_failed_load = false;\n",
       "  }\n",
       "\n",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\n\"+\n",
       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(\"1002\");\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\n",
       "  }\n",
       "\n",
       "\n",
       "  function run_callbacks() {\n",
       "    try {\n",
       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
       "        if (callback != null)\n",
       "          callback();\n",
       "      });\n",
       "    } finally {\n",
       "      delete root._bokeh_onload_callbacks\n",
       "    }\n",
       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(css_urls, js_urls, callback) {\n",
       "    if (css_urls == null) css_urls = [];\n",
       "    if (js_urls == null) js_urls = [];\n",
       "\n",
       "    root._bokeh_onload_callbacks.push(callback);\n",
       "    if (root._bokeh_is_loading > 0) {\n",
       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
       "\n",
       "    function on_load() {\n",
       "      root._bokeh_is_loading--;\n",
       "      if (root._bokeh_is_loading === 0) {\n",
       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
       "        run_callbacks()\n",
       "      }\n",
       "    }\n",
       "\n",
       "    function on_error(url) {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (let i = 0; i < css_urls.length; i++) {\n",
       "      const url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error.bind(null, url);\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.2.min.js\": \"XypntL49z55iwGVUW4qsEu83zKL3XEcz0MjuGOQ9SlaaQ68X/g+k1FcioZi7oQAc\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.2.min.js\": \"bEsM86IHGDTLCS0Zod8a8WM6Y4+lafAL/eSiyQcuPzinmWNgNO2/olUF0Z2Dkn5i\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.2.min.js\": \"TX0gSQTdXTTeScqxj6PVQxTiRW8DOoGVwinyi1D3kxv7wuxQ02XkOxv0xwiypcAH\"};\n",
       "\n",
       "    for (let i = 0; i < js_urls.length; i++) {\n",
       "      const url = js_urls[i];\n",
       "      const element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error.bind(null, url);\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      if (url in hashes) {\n",
       "        element.crossOrigin = \"anonymous\";\n",
       "        element.integrity = \"sha384-\" + hashes[url];\n",
       "      }\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };\n",
       "\n",
       "  function inject_raw_css(css) {\n",
       "    const element = document.createElement(\"style\");\n",
       "    element.appendChild(document.createTextNode(css));\n",
       "    document.body.appendChild(element);\n",
       "  }\n",
       "\n",
       "  \n",
       "  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.2.min.js\"];\n",
       "  var css_urls = [];\n",
       "  \n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    function(Bokeh) {\n",
       "    \n",
       "    \n",
       "    }\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if (root.Bokeh !== undefined || force === true) {\n",
       "      \n",
       "    for (var i = 0; i < inline_js.length; i++) {\n",
       "      inline_js[i].call(root, root.Bokeh);\n",
       "    }\n",
       "    if (force === true) {\n",
       "        display_loaded();\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(css_urls, js_urls, function() {\n",
       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1002\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error(url) {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (let i = 0; i < css_urls.length; i++) {\n      const url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error.bind(null, url);\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.2.min.js\": \"XypntL49z55iwGVUW4qsEu83zKL3XEcz0MjuGOQ9SlaaQ68X/g+k1FcioZi7oQAc\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.2.min.js\": \"bEsM86IHGDTLCS0Zod8a8WM6Y4+lafAL/eSiyQcuPzinmWNgNO2/olUF0Z2Dkn5i\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.2.min.js\": \"TX0gSQTdXTTeScqxj6PVQxTiRW8DOoGVwinyi1D3kxv7wuxQ02XkOxv0xwiypcAH\"};\n\n    for (let i = 0; i < js_urls.length; i++) {\n      const url = js_urls[i];\n      const element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error.bind(null, url);\n      element.async = false;\n      element.src = url;\n      if (url in hashes) {\n        element.crossOrigin = \"anonymous\";\n        element.integrity = \"sha384-\" + hashes[url];\n      }\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  \n  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.2.min.js\"];\n  var css_urls = [];\n  \n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    function(Bokeh) {\n    \n    \n    }\n  ];\n\n  function run_inline_js() {\n    \n    if (root.Bokeh !== undefined || force === true) {\n      \n    for (var i = 0; i < inline_js.length; i++) {\n      inline_js[i].call(root, root.Bokeh);\n    }\n    if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"59be213b-22c2-4bce-8e3c-b3b44e510d61\" data-root-id=\"1003\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"1e19d09a-b729-47fe-8155-a0a4cb5f78eb\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1012\"}],\"center\":[{\"id\":\"1015\"},{\"id\":\"1019\"}],\"height\":400,\"left\":[{\"id\":\"1016\"}],\"renderers\":[{\"id\":\"1037\"}],\"title\":{\"id\":\"1039\"},\"toolbar\":{\"id\":\"1027\"},\"width\":400,\"x_range\":{\"id\":\"1004\"},\"x_scale\":{\"id\":\"1008\"},\"y_range\":{\"id\":\"1006\"},\"y_scale\":{\"id\":\"1010\"}},\"id\":\"1003\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1006\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1041\",\"type\":\"AllLabels\"},{\"attributes\":{\"formatter\":{\"id\":\"1042\"},\"major_label_policy\":{\"id\":\"1041\"},\"ticker\":{\"id\":\"1017\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{\"formatter\":{\"id\":\"1045\"},\"major_label_policy\":{\"id\":\"1044\"},\"ticker\":{\"id\":\"1013\"}},\"id\":\"1012\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1042\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"navy\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"navy\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1012\"},\"ticker\":null},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1016\"},\"dimension\":1,\"ticker\":null},\"id\":\"1019\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"navy\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"navy\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1026\"}},\"id\":\"1022\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"1034\"}},\"id\":\"1038\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"1034\"},\"glyph\":{\"id\":\"1035\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1036\"},\"view\":{\"id\":\"1038\"}},\"id\":\"1037\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1039\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1004\",\"type\":\"DataRange1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1026\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data\":{\"x\":[1,2,3,4,5],\"y\":[6,8,2,4,5]},\"selected\":{\"id\":\"1047\"},\"selection_policy\":{\"id\":\"1048\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"}],\"root_ids\":[\"1003\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.2\"}};\n",
       "  var render_items = [{\"docid\":\"1e19d09a-b729-47fe-8155-a0a4cb5f78eb\",\"root_ids\":[\"1003\"],\"roots\":{\"1003\":\"59be213b-22c2-4bce-8e3c-b3b44e510d61\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1003"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 导入库\n",
    "from bokeh.plotting import figure,output_notebook,show\n",
    "output_notebook()\n",
    "\n",
    "# 数据\n",
    "x = [1,2,3,4,5]\n",
    "y = [6,8,2,4,5]\n",
    "\n",
    "# 画布，尺寸\n",
    "p = figure(plot_width=400, plot_height = 400)\n",
    "p.circle(x,y,size=20,color=\"navy\",alpha=0.5)\n",
    "\n",
    "# 展示\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6c2afafa",
   "metadata": {},
   "source": [
    "# 基本图元"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "48a08af5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"a3f757f1-0925-4ff3-beed-4433e8c9c6e6\" data-root-id=\"1181\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"40bc33a6-bea4-4dba-bd82-d1a5089be505\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1192\"}],\"center\":[{\"id\":\"1195\"},{\"id\":\"1199\"}],\"height\":400,\"left\":[{\"id\":\"1196\"}],\"renderers\":[{\"id\":\"1217\"}],\"title\":{\"id\":\"1182\"},\"toolbar\":{\"id\":\"1207\"},\"width\":400,\"x_range\":{\"id\":\"1184\"},\"x_scale\":{\"id\":\"1188\"},\"y_range\":{\"id\":\"1186\"},\"y_scale\":{\"id\":\"1190\"}},\"id\":\"1181\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1216\",\"type\":\"AnnularWedge\"},{\"attributes\":{},\"id\":\"1237\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1204\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1238\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1206\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1231\",\"type\":\"AllLabels\"},{\"attributes\":{\"formatter\":{\"id\":\"1235\"},\"major_label_policy\":{\"id\":\"1234\"},\"ticker\":{\"id\":\"1193\"}},\"id\":\"1192\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1232\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1215\",\"type\":\"AnnularWedge\"},{\"attributes\":{},\"id\":\"1190\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"1232\"},\"major_label_policy\":{\"id\":\"1231\"},\"ticker\":{\"id\":\"1197\"}},\"id\":\"1196\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text\":\"annular_wedge\"},\"id\":\"1182\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1188\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1193\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1186\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis\":{\"id\":\"1192\"},\"ticker\":null},\"id\":\"1195\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1184\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis\":{\"id\":\"1196\"},\"dimension\":1,\"ticker\":null},\"id\":\"1199\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1234\",\"type\":\"AllLabels\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1200\"},{\"id\":\"1201\"},{\"id\":\"1202\"},{\"id\":\"1203\"},{\"id\":\"1204\"},{\"id\":\"1205\"}]},\"id\":\"1207\",\"type\":\"Toolbar\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1237\"},\"selection_policy\":{\"id\":\"1238\"}},\"id\":\"1214\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1197\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1235\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1200\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1214\"}},\"id\":\"1218\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1205\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1201\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1214\"},\"glyph\":{\"id\":\"1215\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1216\"},\"view\":{\"id\":\"1218\"}},\"id\":\"1217\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1203\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1206\"}},\"id\":\"1202\",\"type\":\"BoxZoomTool\"}],\"root_ids\":[\"1181\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.2\"}};\n",
       "  var render_items = [{\"docid\":\"40bc33a6-bea4-4dba-bd82-d1a5089be505\",\"root_ids\":[\"1181\"],\"roots\":{\"1181\":\"a3f757f1-0925-4ff3-beed-4433e8c9c6e6\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1181"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 基本图元绘制 单个\n",
    "\n",
    "import numpy as np\n",
    "from bokeh.layouts import gridplot\n",
    "\n",
    "#数据\n",
    "N=9\n",
    "x=np.linspace(-2, 2, N)\n",
    "y=x**2\n",
    "sizes = np.linspace(10, 20, N)\n",
    "xpts = np.array([-.09, -.12, .0, .12, .09])\n",
    "\n",
    "#画布列表\n",
    "p = figure(title=\"annular_wedge\",plot_width=400,plot_height=400)\n",
    "\n",
    "#绘制\n",
    "# 1.annular_wedge\n",
    "p.annular_wedge(x, y, 10, 20, 0.6, 4.1, color=\"#8888ee\",\n",
    "                inner_radius_units=\"screen\", \n",
    "                outer_radius_units=\"screen\")\n",
    "\n",
    "\n",
    "\n",
    "#显示一组图形\n",
    "show(p)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "63832380",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"d0bc0373-5431-4b0d-a0f3-8a866f4a7e4d\" data-root-id=\"1244\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"6b531f6a-23bb-4fc2-9f25-4f82a907e359\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1243\"},{\"id\":\"1241\"}]},\"id\":\"1244\",\"type\":\"Column\"},{\"attributes\":{\"formatter\":{\"id\":\"1236\"},\"major_label_policy\":{\"id\":\"1235\"},\"ticker\":{\"id\":\"1197\"}},\"id\":\"1196\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1205\",\"type\":\"HelpTool\"},{\"attributes\":{\"axis\":{\"id\":\"1196\"},\"dimension\":1,\"ticker\":null},\"id\":\"1199\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1197\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1166\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1216\",\"type\":\"Annulus\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1200\"},{\"id\":\"1201\"},{\"id\":\"1202\"},{\"id\":\"1203\"},{\"id\":\"1204\"},{\"id\":\"1205\"}]},\"id\":\"1207\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1193\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1232\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1165\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1201\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1168\"}},\"id\":\"1164\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1200\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1159\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1224\",\"type\":\"AllLabels\"},{\"attributes\":{\"overlay\":{\"id\":\"1206\"}},\"id\":\"1202\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1233\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1203\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1204\",\"type\":\"ResetTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1214\"},\"glyph\":{\"id\":\"1215\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1216\"},\"view\":{\"id\":\"1218\"}},\"id\":\"1217\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1228\",\"type\":\"Selection\"},{\"attributes\":{\"toolbar\":{\"id\":\"1242\"},\"toolbar_location\":\"above\"},\"id\":\"1243\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1215\",\"type\":\"Annulus\"},{\"attributes\":{},\"id\":\"1238\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"children\":[[{\"id\":\"1143\"},0,0],[{\"id\":\"1181\"},0,1]]},\"id\":\"1241\",\"type\":\"GridBox\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"below\":[{\"id\":\"1154\"}],\"center\":[{\"id\":\"1157\"},{\"id\":\"1161\"}],\"height\":200,\"left\":[{\"id\":\"1158\"}],\"renderers\":[{\"id\":\"1179\"}],\"title\":{\"id\":\"1144\"},\"toolbar\":{\"id\":\"1169\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1146\"},\"x_scale\":{\"id\":\"1150\"},\"y_range\":{\"id\":\"1148\"},\"y_scale\":{\"id\":\"1152\"}},\"id\":\"1143\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"1222\"},\"major_label_policy\":{\"id\":\"1221\"},\"ticker\":{\"id\":\"1155\"}},\"id\":\"1154\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1158\"},\"dimension\":1,\"ticker\":null},\"id\":\"1161\",\"type\":\"Grid\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1177\",\"type\":\"AnnularWedge\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"PanTool\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1178\",\"type\":\"AnnularWedge\"},{\"attributes\":{\"source\":{\"id\":\"1214\"}},\"id\":\"1218\",\"type\":\"CDSView\"},{\"attributes\":{\"text\":\"annular_wedge\"},\"id\":\"1144\",\"type\":\"Title\"},{\"attributes\":{\"formatter\":{\"id\":\"1225\"},\"major_label_policy\":{\"id\":\"1224\"},\"ticker\":{\"id\":\"1159\"}},\"id\":\"1158\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1239\",\"type\":\"Selection\"},{\"attributes\":{\"toolbars\":[{\"id\":\"1169\"},{\"id\":\"1207\"}],\"tools\":[{\"id\":\"1162\"},{\"id\":\"1163\"},{\"id\":\"1164\"},{\"id\":\"1165\"},{\"id\":\"1166\"},{\"id\":\"1167\"},{\"id\":\"1200\"},{\"id\":\"1201\"},{\"id\":\"1202\"},{\"id\":\"1203\"},{\"id\":\"1204\"},{\"id\":\"1205\"}]},\"id\":\"1242\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"1155\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1150\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1154\"},\"ticker\":null},\"id\":\"1157\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1146\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1184\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1228\"},\"selection_policy\":{\"id\":\"1227\"}},\"id\":\"1176\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1186\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1152\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1162\"},{\"id\":\"1163\"},{\"id\":\"1164\"},{\"id\":\"1165\"},{\"id\":\"1166\"},{\"id\":\"1167\"}]},\"id\":\"1169\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1225\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1148\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"1233\"},\"major_label_policy\":{\"id\":\"1232\"},\"ticker\":{\"id\":\"1193\"}},\"id\":\"1192\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1206\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1227\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1221\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1235\",\"type\":\"AllLabels\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1168\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1167\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1188\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1222\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1190\",\"type\":\"LinearScale\"},{\"attributes\":{\"text\":\"annulus\"},\"id\":\"1182\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1180\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1177\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1178\"},\"view\":{\"id\":\"1180\"}},\"id\":\"1179\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"1192\"}],\"center\":[{\"id\":\"1195\"},{\"id\":\"1199\"}],\"height\":200,\"left\":[{\"id\":\"1196\"}],\"renderers\":[{\"id\":\"1217\"}],\"title\":{\"id\":\"1182\"},\"toolbar\":{\"id\":\"1207\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1184\"},\"x_scale\":{\"id\":\"1188\"},\"y_range\":{\"id\":\"1186\"},\"y_scale\":{\"id\":\"1190\"}},\"id\":\"1181\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1239\"},\"selection_policy\":{\"id\":\"1238\"}},\"id\":\"1214\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1192\"},\"ticker\":null},\"id\":\"1195\",\"type\":\"Grid\"}],\"root_ids\":[\"1244\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.2\"}};\n",
       "  var render_items = [{\"docid\":\"6b531f6a-23bb-4fc2-9f25-4f82a907e359\",\"root_ids\":[\"1244\"],\"roots\":{\"1244\":\"d0bc0373-5431-4b0d-a0f3-8a866f4a7e4d\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1244"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 基本图元绘制 多个\n",
    "\n",
    "import numpy as np\n",
    "from bokeh.layouts import gridplot\n",
    "\n",
    "#数据\n",
    "N=9\n",
    "x=np.linspace(-2, 2, N)\n",
    "y=x**2\n",
    "sizes = np.linspace(10, 20, N)\n",
    "xpts = np.array([-.09, -.12, .0, .12, .09])\n",
    "ypts = np.array([-.1, .02, .1, .02, -.1])\n",
    "\n",
    "#画布列表\n",
    "figures = []\n",
    "\n",
    "# p = figure(title=\"annular_wedge\",plot_width=400,plot_height=400)\n",
    "p = figure(title=\"annular_wedge\")\n",
    "#绘制\n",
    "# 1.annular_wedge\n",
    "p.annular_wedge(x, y, 10, 20, 0.6, 4.1, color=\"#8888ee\",\n",
    "                inner_radius_units=\"screen\", \n",
    "                outer_radius_units=\"screen\")\n",
    "figures.append(p)\n",
    "\n",
    "# 2.annulus\n",
    "p = figure(title=\"annulus\")\n",
    "p.annulus(x, y, 10, 20, color=\"#8888ee\",\n",
    "                inner_radius_units=\"screen\", \n",
    "                outer_radius_units=\"screen\")\n",
    "figures.append(p)\n",
    "\n",
    "#显示一组图形\n",
    "show(gridplot(figures,ncols=4,plot_width=200,plot_height=200))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "51f8c030",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "BokehDeprecationWarning: 'Oval' is deprecated and will be removed in Bokeh 3.0, use the Ellipse glyph instead\n",
      "BokehDeprecationWarning: 'Oval' is deprecated and will be removed in Bokeh 3.0, use the Ellipse glyph instead\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"bf8e1d5a-11ef-41af-a998-1dbd6f8ee9c6\" data-root-id=\"1820\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"5c6c4fd0-d6c9-4e14-90ee-e14ab77b3983\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1819\"},{\"id\":\"1817\"}]},\"id\":\"1820\",\"type\":\"Column\"},{\"attributes\":{\"source\":{\"id\":\"1713\"}},\"id\":\"1717\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1811\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1770\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"below\":[{\"id\":\"1539\"}],\"center\":[{\"id\":\"1542\"},{\"id\":\"1546\"}],\"height\":200,\"left\":[{\"id\":\"1543\"}],\"renderers\":[{\"id\":\"1564\"}],\"title\":{\"id\":\"1529\"},\"toolbar\":{\"id\":\"1554\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1531\"},\"x_scale\":{\"id\":\"1535\"},\"y_range\":{\"id\":\"1533\"},\"y_scale\":{\"id\":\"1537\"}},\"id\":\"1528\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1667\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1812\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1471\"},{\"id\":\"1472\"},{\"id\":\"1473\"},{\"id\":\"1474\"},{\"id\":\"1475\"},{\"id\":\"1476\"}]},\"id\":\"1478\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"#F46D43\",\"line_alpha\":0.1,\"line_color\":\"#F46D43\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1715\",\"type\":\"Patch\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1515\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1771\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"1757\"},\"major_label_policy\":{\"id\":\"1756\"},\"ticker\":{\"id\":\"1506\"}},\"id\":\"1505\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1514\",\"type\":\"HelpTool\"},{\"attributes\":{\"axis\":{\"id\":\"1501\"},\"ticker\":null},\"id\":\"1504\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1543\"},\"dimension\":1,\"ticker\":null},\"id\":\"1546\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1792\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1505\"},\"dimension\":1,\"ticker\":null},\"id\":\"1508\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1506\",\"type\":\"BasicTicker\"},{\"attributes\":{\"cx0\":{\"field\":\"cx0\"},\"cx1\":{\"field\":\"cx1\"},\"cy0\":{\"field\":\"cy0\"},\"cy1\":{\"field\":\"cy1\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#8073AC\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1525\",\"type\":\"Bezier\"},{\"attributes\":{},\"id\":\"1793\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1510\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1509\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1515\"}},\"id\":\"1511\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"1485\"}},\"id\":\"1489\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1512\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1513\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1499\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1814\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_color\":\"#F46D43\",\"line_color\":\"#F46D43\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1714\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"1502\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1753\",\"type\":\"AllLabels\"},{\"attributes\":{\"angle\":{\"value\":-0.7},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1D91C0\"},\"height\":{\"units\":\"screen\",\"value\":25},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1D91C0\"},\"width\":{\"units\":\"screen\",\"value\":15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1677\",\"type\":\"Oval\"},{\"attributes\":{\"source\":{\"id\":\"1675\"}},\"id\":\"1679\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1815\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1497\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1551\",\"type\":\"ResetTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1675\"},\"glyph\":{\"id\":\"1676\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1677\"},\"view\":{\"id\":\"1679\"}},\"id\":\"1678\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1754\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"1691\"}],\"center\":[{\"id\":\"1694\"},{\"id\":\"1698\"}],\"height\":200,\"left\":[{\"id\":\"1695\"}],\"renderers\":[{\"id\":\"1716\"}],\"title\":{\"id\":\"1681\"},\"toolbar\":{\"id\":\"1706\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1683\"},\"x_scale\":{\"id\":\"1687\"},\"y_range\":{\"id\":\"1685\"},\"y_scale\":{\"id\":\"1689\"}},\"id\":\"1680\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1550\",\"type\":\"SaveTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#3288BD\"},\"line_color\":{\"value\":\"#3288BD\"},\"radius\":{\"value\":0.1},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1562\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"1485\"},\"glyph\":{\"id\":\"1486\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1487\"},\"view\":{\"id\":\"1489\"}},\"id\":\"1488\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"patch\"},\"id\":\"1681\",\"type\":\"Title\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1771\"},\"selection_policy\":{\"id\":\"1770\"}},\"id\":\"1561\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"cx0\":{\"field\":\"cx0\"},\"cx1\":{\"field\":\"cx1\"},\"cy0\":{\"field\":\"cy0\"},\"cy1\":{\"field\":\"cy1\"},\"line_color\":{\"value\":\"#8073AC\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1524\",\"type\":\"Bezier\"},{\"attributes\":{},\"id\":\"1493\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1683\",\"type\":\"DataRange1d\"},{\"attributes\":{\"below\":[{\"id\":\"1501\"}],\"center\":[{\"id\":\"1504\"},{\"id\":\"1508\"}],\"height\":200,\"left\":[{\"id\":\"1505\"}],\"renderers\":[{\"id\":\"1526\"}],\"title\":{\"id\":\"1491\"},\"toolbar\":{\"id\":\"1516\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1493\"},\"x_scale\":{\"id\":\"1497\"},\"y_range\":{\"id\":\"1495\"},\"y_scale\":{\"id\":\"1499\"}},\"id\":\"1490\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"text\":\"bezier\"},\"id\":\"1491\",\"type\":\"Title\"},{\"attributes\":{\"formatter\":{\"id\":\"1812\"},\"major_label_policy\":{\"id\":\"1811\"},\"ticker\":{\"id\":\"1696\"}},\"id\":\"1695\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1687\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1775\",\"type\":\"AllLabels\"},{\"attributes\":{\"formatter\":{\"id\":\"1768\"},\"major_label_policy\":{\"id\":\"1767\"},\"ticker\":{\"id\":\"1544\"}},\"id\":\"1543\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1685\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1689\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1704\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1776\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1809\"},\"major_label_policy\":{\"id\":\"1808\"},\"ticker\":{\"id\":\"1692\"}},\"id\":\"1691\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1692\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1691\"},\"ticker\":null},\"id\":\"1694\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1756\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis\":{\"id\":\"1695\"},\"dimension\":1,\"ticker\":null},\"id\":\"1698\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1797\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1472\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1696\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1699\"},{\"id\":\"1700\"},{\"id\":\"1701\"},{\"id\":\"1702\"},{\"id\":\"1703\"},{\"id\":\"1704\"}]},\"id\":\"1706\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1757\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1700\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1798\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1548\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1699\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1705\"}},\"id\":\"1701\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1509\"},{\"id\":\"1510\"},{\"id\":\"1511\"},{\"id\":\"1512\"},{\"id\":\"1513\"},{\"id\":\"1514\"}]},\"id\":\"1516\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1702\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1703\",\"type\":\"ResetTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1477\"}},\"id\":\"1473\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"1523\"}},\"id\":\"1527\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1778\",\"type\":\"AllLabels\"},{\"attributes\":{\"data_source\":{\"id\":\"1523\"},\"glyph\":{\"id\":\"1524\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1525\"},\"view\":{\"id\":\"1527\"}},\"id\":\"1526\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1544\",\"type\":\"BasicTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"1743\"},\"major_label_policy\":{\"id\":\"1742\"},\"ticker\":{\"id\":\"1464\"}},\"id\":\"1463\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"1577\"}],\"center\":[{\"id\":\"1580\"},{\"id\":\"1584\"}],\"height\":200,\"left\":[{\"id\":\"1581\"}],\"renderers\":[{\"id\":\"1602\"}],\"title\":{\"id\":\"1567\"},\"toolbar\":{\"id\":\"1592\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1569\"},\"x_scale\":{\"id\":\"1573\"},\"y_range\":{\"id\":\"1571\"},\"y_scale\":{\"id\":\"1575\"}},\"id\":\"1566\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"1754\"},\"major_label_policy\":{\"id\":\"1753\"},\"ticker\":{\"id\":\"1502\"}},\"id\":\"1501\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text\":\"circle\"},\"id\":\"1529\",\"type\":\"Title\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1477\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1779\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1552\",\"type\":\"HelpTool\"},{\"attributes\":{\"below\":[{\"id\":\"1615\"}],\"center\":[{\"id\":\"1618\"},{\"id\":\"1622\"}],\"height\":200,\"left\":[{\"id\":\"1619\"}],\"renderers\":[{\"id\":\"1640\"}],\"title\":{\"id\":\"1605\"},\"toolbar\":{\"id\":\"1630\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1607\"},\"x_scale\":{\"id\":\"1611\"},\"y_range\":{\"id\":\"1609\"},\"y_scale\":{\"id\":\"1613\"}},\"id\":\"1604\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1464\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1531\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1599\"},\"glyph\":{\"id\":\"1600\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1601\"},\"view\":{\"id\":\"1603\"}},\"id\":\"1602\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1547\"},{\"id\":\"1548\"},{\"id\":\"1549\"},{\"id\":\"1550\"},{\"id\":\"1551\"},{\"id\":\"1552\"}]},\"id\":\"1554\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"1553\"}},\"id\":\"1549\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1800\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1547\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1495\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis\":{\"id\":\"1463\"},\"ticker\":null},\"id\":\"1466\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1759\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1553\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1705\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1801\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1535\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1768\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"toolbars\":[{\"id\":\"1402\"},{\"id\":\"1440\"},{\"id\":\"1478\"},{\"id\":\"1516\"},{\"id\":\"1554\"},{\"id\":\"1592\"},{\"id\":\"1630\"},{\"id\":\"1668\"},{\"id\":\"1706\"}],\"tools\":[{\"id\":\"1395\"},{\"id\":\"1396\"},{\"id\":\"1397\"},{\"id\":\"1398\"},{\"id\":\"1399\"},{\"id\":\"1400\"},{\"id\":\"1433\"},{\"id\":\"1434\"},{\"id\":\"1435\"},{\"id\":\"1436\"},{\"id\":\"1437\"},{\"id\":\"1438\"},{\"id\":\"1471\"},{\"id\":\"1472\"},{\"id\":\"1473\"},{\"id\":\"1474\"},{\"id\":\"1475\"},{\"id\":\"1476\"},{\"id\":\"1509\"},{\"id\":\"1510\"},{\"id\":\"1511\"},{\"id\":\"1512\"},{\"id\":\"1513\"},{\"id\":\"1514\"},{\"id\":\"1547\"},{\"id\":\"1548\"},{\"id\":\"1549\"},{\"id\":\"1550\"},{\"id\":\"1551\"},{\"id\":\"1552\"},{\"id\":\"1585\"},{\"id\":\"1586\"},{\"id\":\"1587\"},{\"id\":\"1588\"},{\"id\":\"1589\"},{\"id\":\"1590\"},{\"id\":\"1623\"},{\"id\":\"1624\"},{\"id\":\"1625\"},{\"id\":\"1626\"},{\"id\":\"1627\"},{\"id\":\"1628\"},{\"id\":\"1661\"},{\"id\":\"1662\"},{\"id\":\"1663\"},{\"id\":\"1664\"},{\"id\":\"1665\"},{\"id\":\"1666\"},{\"id\":\"1699\"},{\"id\":\"1700\"},{\"id\":\"1701\"},{\"id\":\"1702\"},{\"id\":\"1703\"},{\"id\":\"1704\"}]},\"id\":\"1818\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"1760\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1533\",\"type\":\"DataRange1d\"},{\"attributes\":{\"toolbar\":{\"id\":\"1818\"},\"toolbar_location\":\"above\"},\"id\":\"1819\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"formatter\":{\"id\":\"1765\"},\"major_label_policy\":{\"id\":\"1764\"},\"ticker\":{\"id\":\"1540\"}},\"id\":\"1539\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1439\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1540\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1537\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#F46D43\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1601\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1539\"},\"ticker\":null},\"id\":\"1542\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1611\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1599\"}},\"id\":\"1603\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#F46D43\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1600\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1781\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1609\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1607\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1720\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_color\":{\"value\":\"#8073AC\"},\"line_width\":{\"value\":2},\"xs\":{\"field\":\"xs\"},\"ys\":{\"field\":\"ys\"}},\"id\":\"1638\",\"type\":\"MultiLine\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1401\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data\":{\"xs\":[{\"__ndarray__\":\"uB6F61G4AMD2KFyPwvUAwAAAAAAAAADAFK5H4XoU/r+PwvUoXI/+vw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"cT0K16Nw+b/sUbgehev5vwAAAAAAAPi/FK5H4XoU9r+PwvUoXI/2vw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"cT0K16Nw8b/sUbgehevxvwAAAAAAAPC/KVyPwvUo7L8fhetRuB7tvw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"4XoUrkfh4r/Xo3A9CtfjvwAAAAAAAOC/UrgehetR2L8+CtejcD3avw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"CtejcD0Kt7+4HoXrUbi+vwAAAAAAAAAAuB6F61G4vj8K16NwPQq3Pw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"PgrXo3A92j9SuB6F61HYPwAAAAAAAOA/16NwPQrX4z/hehSuR+HiPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"H4XrUbge7T8pXI/C9SjsPwAAAAAAAPA/7FG4HoXr8T9xPQrXo3DxPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"j8L1KFyP9j8UrkfhehT2PwAAAAAAAPg/7FG4HoXr+T9xPQrXo3D5Pw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"j8L1KFyP/j8UrkfhehT+PwAAAAAAAABA9ihcj8L1AEC4HoXrUbgAQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]}],\"ys\":[{\"__ndarray__\":\"MzMzMzMzD0AUrkfhehQQQGZmZmZmZhBAFK5H4XoUEEAzMzMzMzMPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"MzMzMzMzAUApXI/C9SgCQM3MzMzMzAJAKVyPwvUoAkAzMzMzMzMBQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"zczMzMzM7D9SuB6F61HwP5qZmZmZmfE/UrgehetR8D/NzMzMzMzsPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"MzMzMzMzwz9I4XoUrkfRP2ZmZmZmZtY/SOF6FK5H0T8zMzMzMzPDPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"mpmZmZmZub97FK5H4XqUP5qZmZmZmbk/exSuR+F6lD+amZmZmZm5vw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"MzMzMzMzwz9I4XoUrkfRP2ZmZmZmZtY/SOF6FK5H0T8zMzMzMzPDPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"zczMzMzM7D9SuB6F61HwP5qZmZmZmfE/UrgehetR8D/NzMzMzMzsPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"MzMzMzMzAUApXI/C9SgCQM3MzMzMzAJAKVyPwvUoAkAzMzMzMzMBQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]},{\"__ndarray__\":\"MzMzMzMzD0AUrkfhehQQQGZmZmZmZhBAFK5H4XoUEEAzMzMzMzMPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[5]}]},\"selected\":{\"id\":\"1793\"},\"selection_policy\":{\"id\":\"1792\"}},\"id\":\"1637\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1713\"},\"glyph\":{\"id\":\"1714\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1715\"},\"view\":{\"id\":\"1717\"}},\"id\":\"1716\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1782\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"1790\"},\"major_label_policy\":{\"id\":\"1789\"},\"ticker\":{\"id\":\"1620\"}},\"id\":\"1619\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1613\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1721\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1787\"},\"major_label_policy\":{\"id\":\"1786\"},\"ticker\":{\"id\":\"1616\"}},\"id\":\"1615\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1616\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1615\"},\"ticker\":null},\"id\":\"1618\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1731\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1419\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1561\"},\"glyph\":{\"id\":\"1562\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1563\"},\"view\":{\"id\":\"1565\"}},\"id\":\"1564\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1803\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1637\"},\"glyph\":{\"id\":\"1638\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1639\"},\"view\":{\"id\":\"1641\"}},\"id\":\"1640\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"1619\"},\"dimension\":1,\"ticker\":null},\"id\":\"1622\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1732\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#3288BD\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#3288BD\"},\"radius\":{\"value\":0.1},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1563\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"1561\"}},\"id\":\"1565\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1620\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1573\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1804\",\"type\":\"Selection\"},{\"attributes\":{\"children\":[[{\"id\":\"1376\"},0,0],[{\"id\":\"1414\"},0,1],[{\"id\":\"1452\"},0,2],[{\"id\":\"1490\"},0,3],[{\"id\":\"1528\"},1,0],[{\"id\":\"1566\"},1,1],[{\"id\":\"1604\"},1,2],[{\"id\":\"1642\"},1,3],[{\"id\":\"1680\"},2,0]]},\"id\":\"1817\",\"type\":\"GridBox\"},{\"attributes\":{\"below\":[{\"id\":\"1425\"}],\"center\":[{\"id\":\"1428\"},{\"id\":\"1432\"}],\"height\":200,\"left\":[{\"id\":\"1429\"}],\"renderers\":[{\"id\":\"1450\"}],\"title\":{\"id\":\"1415\"},\"toolbar\":{\"id\":\"1440\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1417\"},\"x_scale\":{\"id\":\"1421\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1423\"}},\"id\":\"1414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"text\":\"line\"},\"id\":\"1567\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"1653\"}],\"center\":[{\"id\":\"1656\"},{\"id\":\"1660\"}],\"height\":200,\"left\":[{\"id\":\"1657\"}],\"renderers\":[{\"id\":\"1678\"}],\"title\":{\"id\":\"1643\"},\"toolbar\":{\"id\":\"1668\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1645\"},\"x_scale\":{\"id\":\"1649\"},\"y_range\":{\"id\":\"1647\"},\"y_scale\":{\"id\":\"1651\"}},\"id\":\"1642\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"1409\"}},\"id\":\"1413\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1742\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1623\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1409\"},\"glyph\":{\"id\":\"1410\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1411\"},\"view\":{\"id\":\"1413\"}},\"id\":\"1412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1782\"},\"selection_policy\":{\"id\":\"1781\"}},\"id\":\"1599\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text\":\"annulus\"},\"id\":\"1415\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1569\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1804\"},\"selection_policy\":{\"id\":\"1803\"}},\"id\":\"1675\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1590\",\"type\":\"HelpTool\"},{\"attributes\":{\"formatter\":{\"id\":\"1746\"},\"major_label_policy\":{\"id\":\"1745\"},\"ticker\":{\"id\":\"1468\"}},\"id\":\"1467\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1629\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1571\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1738\"},\"selection_policy\":{\"id\":\"1737\"}},\"id\":\"1447\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1743\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1417\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"1779\"},\"major_label_policy\":{\"id\":\"1778\"},\"ticker\":{\"id\":\"1582\"}},\"id\":\"1581\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1726\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1575\",\"type\":\"LinearScale\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"line_color\":{\"value\":\"#BEAED4\"},\"line_width\":{\"value\":3},\"radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1486\",\"type\":\"Arc\"},{\"attributes\":{\"formatter\":{\"id\":\"1776\"},\"major_label_policy\":{\"id\":\"1775\"},\"ticker\":{\"id\":\"1578\"}},\"id\":\"1577\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1723\",\"type\":\"AllLabels\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#BEAED4\"},\"line_width\":{\"value\":3},\"radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1487\",\"type\":\"Arc\"},{\"attributes\":{},\"id\":\"1421\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1578\",\"type\":\"BasicTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"1735\"},\"major_label_policy\":{\"id\":\"1734\"},\"ticker\":{\"id\":\"1430\"}},\"id\":\"1429\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1577\"},\"ticker\":null},\"id\":\"1580\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1438\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1764\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1436\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1724\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1423\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1815\"},\"selection_policy\":{\"id\":\"1814\"}},\"id\":\"1713\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"formatter\":{\"id\":\"1732\"},\"major_label_policy\":{\"id\":\"1731\"},\"ticker\":{\"id\":\"1426\"}},\"id\":\"1425\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1581\"},\"dimension\":1,\"ticker\":null},\"id\":\"1584\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1387\"},\"ticker\":null},\"id\":\"1390\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1426\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1734\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis\":{\"id\":\"1425\"},\"ticker\":null},\"id\":\"1428\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1765\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1582\",\"type\":\"BasicTicker\"},{\"attributes\":{\"below\":[{\"id\":\"1387\"}],\"center\":[{\"id\":\"1390\"},{\"id\":\"1394\"}],\"height\":200,\"left\":[{\"id\":\"1391\"}],\"renderers\":[{\"id\":\"1412\"}],\"title\":{\"id\":\"1377\"},\"toolbar\":{\"id\":\"1402\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1379\"},\"x_scale\":{\"id\":\"1383\"},\"y_range\":{\"id\":\"1381\"},\"y_scale\":{\"id\":\"1385\"}},\"id\":\"1376\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1585\"},{\"id\":\"1586\"},{\"id\":\"1587\"},{\"id\":\"1588\"},{\"id\":\"1589\"},{\"id\":\"1590\"}]},\"id\":\"1592\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1586\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1585\",\"type\":\"PanTool\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1410\",\"type\":\"AnnularWedge\"},{\"attributes\":{},\"id\":\"1735\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1591\"}},\"id\":\"1587\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1429\"},\"dimension\":1,\"ticker\":null},\"id\":\"1432\",\"type\":\"Grid\"},{\"attributes\":{\"end_angle\":{\"value\":4.1},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#8888ee\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#8888ee\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"start_angle\":{\"value\":0.6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1411\",\"type\":\"AnnularWedge\"},{\"attributes\":{},\"id\":\"1588\",\"type\":\"SaveTool\"},{\"attributes\":{\"text\":\"annular_wedge\"},\"id\":\"1377\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1430\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1589\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1379\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#7FC97F\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_color\":{\"value\":\"#7FC97F\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1448\",\"type\":\"Annulus\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1433\"},{\"id\":\"1434\"},{\"id\":\"1435\"},{\"id\":\"1436\"},{\"id\":\"1437\"},{\"id\":\"1438\"}]},\"id\":\"1440\",\"type\":\"Toolbar\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1727\"},\"selection_policy\":{\"id\":\"1726\"}},\"id\":\"1409\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1745\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1627\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1383\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1400\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1433\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1786\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1381\",\"type\":\"DataRange1d\"},{\"attributes\":{\"overlay\":{\"id\":\"1439\"}},\"id\":\"1435\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1626\",\"type\":\"SaveTool\"},{\"attributes\":{\"formatter\":{\"id\":\"1724\"},\"major_label_policy\":{\"id\":\"1723\"},\"ticker\":{\"id\":\"1392\"}},\"id\":\"1391\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1437\",\"type\":\"ResetTool\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1623\"},{\"id\":\"1624\"},{\"id\":\"1625\"},{\"id\":\"1626\"},{\"id\":\"1627\"},{\"id\":\"1628\"}]},\"id\":\"1630\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1385\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"1721\"},\"major_label_policy\":{\"id\":\"1720\"},\"ticker\":{\"id\":\"1388\"}},\"id\":\"1387\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1746\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1787\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"1463\"}],\"center\":[{\"id\":\"1466\"},{\"id\":\"1470\"}],\"height\":200,\"left\":[{\"id\":\"1467\"}],\"renderers\":[{\"id\":\"1488\"}],\"title\":{\"id\":\"1453\"},\"toolbar\":{\"id\":\"1478\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1455\"},\"x_scale\":{\"id\":\"1459\"},\"y_range\":{\"id\":\"1457\"},\"y_scale\":{\"id\":\"1461\"}},\"id\":\"1452\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1388\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#8073AC\"},\"line_width\":{\"value\":2},\"xs\":{\"field\":\"xs\"},\"ys\":{\"field\":\"ys\"}},\"id\":\"1639\",\"type\":\"MultiLine\"},{\"attributes\":{\"text\":\"oval\"},\"id\":\"1643\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1455\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1749\"},\"selection_policy\":{\"id\":\"1748\"}},\"id\":\"1485\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1767\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1637\"}},\"id\":\"1641\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1624\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1391\"},\"dimension\":1,\"ticker\":null},\"id\":\"1394\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1447\"},\"glyph\":{\"id\":\"1448\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1449\"},\"view\":{\"id\":\"1451\"}},\"id\":\"1450\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"overlay\":{\"id\":\"1629\"}},\"id\":\"1625\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1392\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data\":{\"cx0\":{\"__ndarray__\":\"ZmZmZmZm/r9mZmZmZmb2v83MzMzMzOy/mpmZmZmZ2b+amZmZmZm5PzMzMzMzM+M/mpmZmZmZ8T+amZmZmZn5P83MzMzMzABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"cx1\":{\"__ndarray__\":\"zczMzMzMAMCamZmZmZn5v5qZmZmZmfG/MzMzMzMz47+amZmZmZm5v5qZmZmZmdk/zczMzMzM7D9mZmZmZmb2P2ZmZmZmZv4/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"cy0\":{\"__ndarray__\":\"ZmZmZmZmEEDNzMzMzMwCQJqZmZmZmfE/ZmZmZmZm1j+amZmZmZm5P2ZmZmZmZtY/mpmZmZmZ8T/NzMzMzMwCQGZmZmZmZhBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"cy1\":{\"__ndarray__\":\"MzMzMzMzD0AzMzMzMzMBQM3MzMzMzOw/MzMzMzMzwz+amZmZmZm5vzMzMzMzM8M/zczMzMzM7D8zMzMzMzMBQDMzMzMzMw9A\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"x0\":{\"__ndarray__\":\"AAAAAAAAAMAAAAAAAAD4vwAAAAAAAPC/AAAAAAAA4L8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAABA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"x1\":{\"__ndarray__\":\"zczMzMzM/L/NzMzMzMz0v5qZmZmZmem/MzMzMzMz07+amZmZmZnJP2ZmZmZmZuY/MzMzMzMz8z8zMzMzMzP7P5qZmZmZmQFA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y0\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]},\"y1\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAACQAAAAAAAAPA/AAAAAAAA0D8AAAAAAAAAAAAAAAAAANA/AAAAAAAA8D8AAAAAAAACQAAAAAAAABBA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[9]}},\"selected\":{\"id\":\"1760\"},\"selection_policy\":{\"id\":\"1759\"}},\"id\":\"1523\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1628\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1461\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1808\",\"type\":\"AllLabels\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1395\"},{\"id\":\"1396\"},{\"id\":\"1397\"},{\"id\":\"1398\"},{\"id\":\"1399\"},{\"id\":\"1400\"}]},\"id\":\"1402\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1645\",\"type\":\"DataRange1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1591\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1396\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1459\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1649\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1395\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1666\",\"type\":\"HelpTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#7FC97F\"},\"inner_radius\":{\"units\":\"screen\",\"value\":10},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#7FC97F\"},\"outer_radius\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1449\",\"type\":\"Annulus\"},{\"attributes\":{\"overlay\":{\"id\":\"1401\"}},\"id\":\"1397\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1647\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1809\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1398\",\"type\":\"SaveTool\"},{\"attributes\":{\"text\":\"arc\"},\"id\":\"1453\",\"type\":\"Title\"},{\"attributes\":{\"formatter\":{\"id\":\"1801\"},\"major_label_policy\":{\"id\":\"1800\"},\"ticker\":{\"id\":\"1658\"}},\"id\":\"1657\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1399\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1651\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1727\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1457\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"1798\"},\"major_label_policy\":{\"id\":\"1797\"},\"ticker\":{\"id\":\"1654\"}},\"id\":\"1653\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1447\"}},\"id\":\"1451\",\"type\":\"CDSView\"},{\"attributes\":{\"text\":\"multi_line\"},\"id\":\"1605\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1654\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1737\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1665\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1471\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"1653\"},\"ticker\":null},\"id\":\"1656\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1789\",\"type\":\"AllLabels\"},{\"attributes\":{\"angle\":{\"value\":-0.7},\"fill_color\":{\"value\":\"#1D91C0\"},\"height\":{\"units\":\"screen\",\"value\":25},\"line_color\":{\"value\":\"#1D91C0\"},\"width\":{\"units\":\"screen\",\"value\":15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1676\",\"type\":\"Oval\"},{\"attributes\":{},\"id\":\"1738\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1467\"},\"dimension\":1,\"ticker\":null},\"id\":\"1470\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1748\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1476\",\"type\":\"HelpTool\"},{\"attributes\":{\"axis\":{\"id\":\"1657\"},\"dimension\":1,\"ticker\":null},\"id\":\"1660\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1790\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1475\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1658\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1468\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1474\",\"type\":\"SaveTool\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1661\"},{\"id\":\"1662\"},{\"id\":\"1663\"},{\"id\":\"1664\"},{\"id\":\"1665\"},{\"id\":\"1666\"}]},\"id\":\"1668\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1662\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1749\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1661\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1667\"}},\"id\":\"1663\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1664\",\"type\":\"SaveTool\"}],\"root_ids\":[\"1820\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.2\"}};\n",
       "  var render_items = [{\"docid\":\"5c6c4fd0-d6c9-4e14-90ee-e14ab77b3983\",\"root_ids\":[\"1820\"],\"roots\":{\"1820\":\"bf8e1d5a-11ef-41af-a998-1dbd6f8ee9c6\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1820"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from bokeh.layouts import gridplot\n",
    "#数据\n",
    "N=9\n",
    "x=np.linspace(-2, 2, N)\n",
    "y=x**2\n",
    "sizes = np.linspace(10, 20, N)\n",
    "xpts = np.array([-.09, -.12, .0, .12, .09])\n",
    "ypts = np.array([-.1, .02, .1, .02, -.1])\n",
    "#画布列表\n",
    "figures = []\n",
    "# 1. 环状楔\n",
    "p = figure(title=\"annular_wedge\")\n",
    "p.annular_wedge(x, y, 10, 20, 0.6, 4.1, color=\"#8888ee\",inner_radius_units=\"screen\", outer_radius_units=\"screen\")\n",
    "figures.append(p)\n",
    "# 2. 环状\n",
    "p = figure(title=\"annulus\")\n",
    "p.annulus(x, y, 10, 20,  color=\"#7FC97F\",inner_radius_units=\"screen\", outer_radius_units=\"screen\")\n",
    "figures.append(p)\n",
    "\n",
    "# 3.\n",
    "p = figure(title=\"arc\")\n",
    "p.arc(x, y,20, 0.6, 4.1,radius_units = \"screen\" , color=\"#BEAED4\",line_width=3)\n",
    "figures.append(p)\n",
    "\n",
    "\n",
    "# 4. bezier\n",
    "p = figure(title= \"bezier\")\n",
    "p.bezier(x, y, x+0.2, y, x+0.1, y+0.1,x-0.1, y-0.1,color=\"#8073AC\", line_width=2)\n",
    "figures.append(p)\n",
    "\n",
    "# 5.circle\n",
    "p = figure(title=\"circle\")\n",
    "p.circle(x, y, radius=0.1, color=\"#3288BD\")\n",
    "figures.append(p)\n",
    "\n",
    "# 6.line\n",
    "p = figure(title=\"line\")\n",
    "p.line(x, y, color= \"#F46D43\")\n",
    "figures.append(p)\n",
    "\n",
    "# 7.multi_line\n",
    "p = figure(title= \"multi_line\")\n",
    "p.multi_line([xpts+xx for xx in x],[ypts+yy for yy in y], color=\"#8073AC\",line_width=2)\n",
    "figures.append(p)\n",
    "\n",
    "# 8.oval\n",
    "p = figure(title=\"oval\")\n",
    "p.oval(x,y,15,25, angle=-0.7, color=\"#1D91C0\",width_units=\"screen\", height_units=\"screen\")\n",
    "figures.append(p)\n",
    "\n",
    "# 9. patch\n",
    "p = figure(title=\"patch\" )\n",
    "p.patch(x,y,color=\"#F46D43\")\n",
    "figures.append(p)\n",
    "\n",
    "# 网格展示\n",
    "show(gridplot(figures,ncols=4,plot_width=200,plot_height=200))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7d9a2692",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
